package com.sec.etech.ism.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;

/**
 * 服务配置
 */
@Data
@TableName("ism_service_def")
public class IsmServiceDef implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId
    private Long id;
    /**
     * 服务分类，业务分类
     */
    private String category;
    /**
     * 服务code
     */
    private String code;
    /**
     * 类型- 1-对外服务/接收  2-主动调用/发送
     */
    private String type;

    /**
     * 是否仅查询，query_only=1 无事务，无需考虑幂等性
     */
    @TableField("query_only")
    private Integer queryOnly;
    /**
     * 服务名
     */
    private String name;
    /**
     * 服务参数json
     */
    private String params;
    /**
     * 服务描述
     */
    private String description;
    /**
     * 是否有效
     */
    private Integer active;
    /**
     * 关联应用，用于发送服务
     */
    @TableField("ref_app")
    private Long refApp;

    /**
     * 访问权限，用于配置多个应用访问服务的权限
     */
    @TableField("access_rights")
    private String accessRights;


    /**
     * 临时变量，关联当前调用的应用系统设置
     */
    @TableField(exist = false)
    private IsmAppSetting refAppSetting;

}
